import {defineConfig} from 'vite'
import vue from '@vitejs/plugin-vue'
import path from "path";
//自动导入插件
import AutoImport from "unplugin-auto-import/vite";
import Components from "unplugin-vue-components/vite";
// ElementPlus
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'

const pathSrc = path.resolve(__dirname, "src");

// https://vitejs.dev/config/
export default defineConfig({
    plugins: [
        vue(),
        AutoImport({
            resolvers: [ElementPlusResolver()],
            // 自动导入 Vue 相关函数，如：ref, reactive, toRef 等
            imports: ["vue"],
            eslintrc: {
                enabled: true, // 是否自动生成 eslint 规则，建议生成之后设置 false
                filepath: "./.eslintrc-auto-import.json", // 指定自动导入函数 eslint 规则的文件
            },
            dts: path.resolve(pathSrc, "types", "auto-imports.d.ts"), // 指定自动导入函数TS类型声明文件路径
        }),
        Components({
            resolvers: [ElementPlusResolver()],
            dts: path.resolve(pathSrc, "types", "components.d.ts"), // 指定自动导入组件TS类型声明文件路径
        }),

    ],
    resolve: {
        alias: {
            "@": pathSrc,
        },
    },
    css: {
        // CSS 预处理器
        preprocessorOptions: {
            //define global scss variable
            scss: {
                javascriptEnabled: true,//开启sass
                additionalData: '@import "@/styles/variables.scss";'
            }
        }
    }
})
